package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;
import java.util.List;

/**
 * 单位信息对象 unit_information
 *
 * @author zhur
 * @date 2025-04-01
 */
@Data
@TableName("unit_information")
public class UnitInformation
{
    private static final long serialVersionUID = 1L;

    /** 自增ID */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 业务ID
     */
    @TableField(value = "business_id")
    private String businessId;

    /** 单位名称 */
    @Excel(name = "单位名称")
    @TableField(value = "unit_name")
    private String unitName;

    /** 法定代表人 */
    @Excel(name = "法定代表人")
    @TableField(value = "legal_representative")
    private String legalRepresentative;

    /** 联系人 */
    @Excel(name = "联系人")
    @TableField(value = "contact_person")
    private String contactPerson;

    /** 联系电话 */
    @Excel(name = "联系电话")
    @TableField(value = "contact_phone")
    private String contactPhone;

    //    作为登陆账号使用,
    @TableField(value = "email")
    private String email;

    @TableField(exist = false)
    private String loginPassword;

    /** 开户银行账户信息 */
    @Excel(name = "开户银行账户信息")
    @TableField(value = "bank_account_info")
    private String bankAccountInfo;

    /** 附件：统一社会信用代码证 */
    @Excel(name = "附件：统一社会信用代码证")
    @TableField(value = "attachment_credit_code")
    private String attachmentCreditCode;

    /** 附件：营业执照（如有） */
    @Excel(name = "附件：营业执照", readConverterExp = "如=有")
    @TableField(value = "attachment_business_license")
    private String attachmentBusinessLicense;


    /** 附件：旅行社业务经营许可证（如有） */
    @Excel(name = "附件：旅行社业务经营许可证", readConverterExp = "如=有")
    @TableField(value = "attachment_travel_permit")
    private String attachmentTravelPermit;

    /** 附件：单位（企业）基本情况 */
    @Excel(name = "附件：单位", readConverterExp = "企=业")
    @TableField(value = "attachment_basic_info")
    private String attachmentBasicInfo;

    /** 附件：其他证明材料 */
    @Excel(name = "附件：其他证明材料")
    @TableField(value = "attachment_other_docs")
    private String attachmentOtherDocs;

    /** 创建时间 */
    @TableField(value = "create_time")
    private Date createTime;

    /** 创建人 */
    @TableField(value = "create_by")
    private String createBy;

    @TableField(value = "remark")
    private String remark;

    /** 审核状态 */
    @TableField(value = "type")
    private String type;

    @TableField(value = "bank_count_info_name")
    private String bankCountInfoName; // 对公账户名称

//    @TableField(value = "bank_count_info_number")
//    private String bankCountInfoNumber; // 对公账户银行账号

    @TableField(value = "bank_number")
    private String bankNumber; // 对公账户银行账号
    @TableField(value = "bank_name")
    private String bankName; // 开户行名称


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("unitName", getUnitName())
            .append("legalRepresentative", getLegalRepresentative())
            .append("contactPerson", getContactPerson())
            .append("contactPhone", getContactPhone())
            .append("email", getEmail())
            .append("bankAccountInfo", getBankAccountInfo())
            .append("attachmentCreditCode", getAttachmentCreditCode())
            .append("attachmentBusinessLicense", getAttachmentBusinessLicense())
            .append("attachmentTravelPermit", getAttachmentTravelPermit())
            .append("attachmentBasicInfo", getAttachmentBasicInfo())
            .append("attachmentOtherDocs", getAttachmentOtherDocs())
            .toString();
    }
}
